package com.roin.learn.springmvc.baseTest;

import org.apache.log4j.PropertyConfigurator;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

//指定bean注入的配置文件  
@ContextConfiguration(locations = { "classpath:spring/application.xml" })  
//使用标准的JUnit @RunWith注释来告诉JUnit使用Spring TestRunner  
@RunWith(SpringJUnit4ClassRunner.class)  
public abstract class SpringTestCase extends AbstractJUnit4SpringContextTests{
	/**
	 * 因为spring与log4j的整合，是放在web.xml里的，随tomcat启动后，spring才会加载log4j，而用junit测试是不需要tomcat启动的
	 * Junit使用spring时，若spring没加载到log4j就会报以下警告：
	 log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).  
	 log4j:WARN Please initialize the log4j system properly.  
	 log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
	 1. 最简单最笨的方法
		将log4j放到src根目录下，这是由于spring加载log4j默认从src目录里找。
	 然后就是用这里的方法
	 */
    static {  
        PropertyConfigurator.configure("classpath:properties/log4j.properties");  
    } 
    protected Logger logger = LoggerFactory.getLogger(getClass());  
} 
